home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / clang / gnumake.zip / COMMANDS.H < prev    next >
C/C++ Source or Header  |  1994-03-23  |  2KB  |  43 lines

  1. /* Definition of data structures describing shell commands for GNU Make.
  2. Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc.
  3. This file is part of GNU Make.
  4.  
  5. GNU Make is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2, or (at your option)
  8. any later version.
  9.  
  10. GNU Make is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. GNU General Public License for more details.
  14.  
  15. You should have received a copy of the GNU General Public License
  16. along with GNU Make; see the file COPYING.  If not, write to
  17. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  18.  
  19. /* Structure that gives the commands to make a file
  20.    and information about where these commands came from.  */
  21.  
  22. struct commands
  23.   {
  24.     char *filename;        /* File that contains commands.  */
  25.     unsigned int lineno;    /* Line number in file.  */
  26.     char *commands;        /* Commands text.  */
  27.     unsigned int ncommand_lines;/* Number of command lines.  */
  28.     char **command_lines;    /* Commands chopped up into lines.  */
  29.     char *lines_flags;        /* One set of flag bits for each line.  */
  30.     int any_recurse;        /* Nonzero if any `lines_recurse' elt has */
  31.                 /* the COMMANDS_RECURSE bit set.  */
  32.   };
  33.  
  34. /* Bits in `lines_flags'.  */
  35. #define    COMMANDS_RECURSE    1 /* Recurses: + or $(MAKE).  */
  36. #define    COMMANDS_SILENT        2 /* Silent: @.  */
  37. #define    COMMANDS_NOERROR    4 /* No errors: -.  */
  38.  
  39. extern void execute_file_commands ();
  40. extern void print_commands ();
  41. extern void delete_child_targets ();
  42. extern void chop_commands ();
  43.